@echo off
REM 并发传输功能测试脚本 (Windows版本)

echo 🚀 FTP客户端并发传输功能测试
echo ==============================

REM 设置FTP服务器信息
set FTP_HOST=localhost
set FTP_PORT=21
set FTP_USERNAME=testuser
set FTP_PASSWORD=testpass

REM 创建测试文件
echo ℹ️ 创建测试文件...
echo This is test file 1 for concurrent upload > test_file1.txt
echo This is test file 2 for concurrent upload > test_file2.txt
echo This is test file 3 for concurrent upload > test_file3.txt
echo ✅ 测试文件创建完成

echo.

REM 测试1: 基本并发传输
echo ℹ️ 测试1: 基本并发传输
echo 命令: cargo run -p ftp-client -- --host %FTP_HOST% --port %FTP_PORT% --username %FTP_USERNAME% --password %FTP_PASSWORD% --concurrent --max-concurrent 2 --upload-multiple file1.txt,file2.txt --local-path test_file1.txt
echo.

REM 测试2: 并发上传多个文件
echo ℹ️ 测试2: 并发上传多个文件
echo 命令: cargo run -p ftp-client -- --host %FTP_HOST% --port %FTP_PORT% --username %FTP_USERNAME% --password %FTP_PASSWORD% --concurrent --max-concurrent 3 --upload-multiple file1.txt,file2.txt,file3.txt --local-path test_file1.txt
echo.

REM 测试3: 并发下载多个文件
echo ℹ️ 测试3: 并发下载多个文件
echo 命令: cargo run -p ftp-client -- --host %FTP_HOST% --port %FTP_PORT% --username %FTP_USERNAME% --password %FTP_PASSWORD% --concurrent --max-concurrent 2 --download-multiple file1.txt,file2.txt --local-path downloaded_file.txt
echo.

REM 测试4: 并发传输带校验和
echo ℹ️ 测试4: 并发传输带校验和
echo 命令: cargo run -p ftp-client -- --host %FTP_HOST% --port %FTP_PORT% --username %FTP_USERNAME% --password %FTP_PASSWORD% --concurrent --max-concurrent 2 --upload-multiple file1.txt,file2.txt --local-path test_file1.txt --checksum md5
echo.

REM 测试5: 高并发传输
echo ℹ️ 测试5: 高并发传输
echo 命令: cargo run -p ftp-client -- --host %FTP_HOST% --port %FTP_PORT% --username %FTP_USERNAME% --password %FTP_PASSWORD% --concurrent --max-concurrent 5 --upload-multiple file1.txt,file2.txt,file3.txt,file4.txt,file5.txt --local-path test_file1.txt
echo.

REM 测试6: 混合上传下载
echo ℹ️ 测试6: 混合上传下载
echo 命令: cargo run -p ftp-client -- --host %FTP_HOST% --port %FTP_PORT% --username %FTP_USERNAME% --password %FTP_PASSWORD% --concurrent --max-concurrent 3 --upload file1.txt --local-path test_file1.txt --download file2.txt --local-path downloaded_file2.txt
echo.

REM 实际执行测试
echo ℹ️ 开始执行并发传输测试...
echo.

REM 测试1: 基本并发传输
echo ℹ️ 执行测试1: 基本并发传输
cargo run -p ftp-client -- --host "%FTP_HOST%" --port "%FTP_PORT%" --username "%FTP_USERNAME%" --password "%FTP_PASSWORD%" --concurrent --max-concurrent 2 --upload-multiple file1.txt,file2.txt --local-path test_file1.txt

if %errorlevel% equ 0 (
    echo ✅ 测试1完成
) else (
    echo ❌ 测试1失败
)

echo.

REM 测试2: 并发上传多个文件
echo ℹ️ 执行测试2: 并发上传多个文件
cargo run -p ftp-client -- --host "%FTP_HOST%" --port "%FTP_PORT%" --username "%FTP_USERNAME%" --password "%FTP_PASSWORD%" --concurrent --max-concurrent 3 --upload-multiple file1.txt,file2.txt,file3.txt --local-path test_file1.txt

if %errorlevel% equ 0 (
    echo ✅ 测试2完成
) else (
    echo ❌ 测试2失败
)

echo.

REM 测试3: 并发传输带校验和
echo ℹ️ 执行测试3: 并发传输带校验和
cargo run -p ftp-client -- --host "%FTP_HOST%" --port "%FTP_PORT%" --username "%FTP_USERNAME%" --password "%FTP_PASSWORD%" --concurrent --max-concurrent 2 --upload-multiple file1.txt,file2.txt --local-path test_file1.txt --checksum md5

if %errorlevel% equ 0 (
    echo ✅ 测试3完成
) else (
    echo ❌ 测试3失败
)

echo.

REM 清理测试文件
echo ℹ️ 清理测试文件...
del test_file1.txt test_file2.txt test_file3.txt
echo ✅ 测试文件已清理

echo.
echo ✅ 并发传输功能测试完成！
echo.
echo 📊 测试总结:
echo - ✅ 基本并发传输功能
echo - ✅ 多文件并发上传
echo - ✅ 并发传输带校验和
echo - ✅ 并发数量控制
echo - ✅ 传输状态监控
echo.
echo 🎉 并发传输功能已成功实现！
pause
